package edu.unf.cen6940.service;

import edu.unf.cen6940.domain.Category;
import edu.unf.cen6940.domain.Faculty;
import edu.unf.cen6940.domain.Facultyresearch;
import edu.unf.cen6940.domain.Facultyresearchtostudent;
import edu.unf.cen6940.domain.Researchkeyword;

import java.util.List;
import java.util.Set;

/**
 * Spring service that handles CRUD requests for Facultyresearch entities
 * 
 */
public interface FacultyresearchService {

	/**
	 * Delete an existing Faculty entity
	 * 
	 */
	public Facultyresearch deleteFacultyresearchFaculty(Integer facultyresearch_facultyResearchId, Integer related_faculty_facultyId);

	/**
	 * Return a count of all Facultyresearch entity
	 * 
	 */
	public Integer countFacultyresearchs();

	/**
	 * Return all Facultyresearch entity
	 * 
	 */
	public List<Facultyresearch> findAllFacultyresearchs(Integer startResult, Integer maxRows);

	/**
	 * Save an existing Facultyresearchtostudent entity
	 * 
	 */
	public Facultyresearch saveFacultyresearchFacultyresearchtostudents(Integer facultyResearchId, Facultyresearchtostudent related_facultyresearchtostudents);

	/**
	 * Delete an existing Researchkeyword entity
	 * 
	 */
	public Facultyresearch deleteFacultyresearchResearchkeywords(Integer facultyresearch_facultyResearchId_1, Integer related_researchkeywords_researchKeywordId);

	/**
	 * Save an existing Category entity
	 * 
	 */
	public Facultyresearch saveFacultyresearchCategories(Integer facultyResearchId_1, Category related_categories);

	/**
	 * Save an existing Researchkeyword entity
	 * 
	 */
	public Facultyresearch saveFacultyresearchResearchkeywords(Integer facultyResearchId_2, Researchkeyword related_researchkeywords);

	/**
	 * Delete an existing Facultyresearch entity
	 * 
	 */
	public void deleteFacultyresearch(Facultyresearch facultyresearch);

	/**
	 * Load an existing Facultyresearch entity
	 * 
	 */
	public Set<Facultyresearch> loadFacultyresearchs();

	/**
	 * Save an existing Facultyresearch entity
	 * 
	 */
	public void saveFacultyresearch(Facultyresearch facultyresearch_1);

	/**
	 */
	public Facultyresearch findFacultyresearchByPrimaryKey(Integer facultyResearchId_3);

	/**
	 * Delete an existing Facultyresearchtostudent entity
	 * 
	 */
	public Facultyresearch deleteFacultyresearchFacultyresearchtostudents(Integer facultyresearch_facultyResearchId_2, Integer related_facultyresearchtostudents_facultyResearchId, Integer related_facultyresearchtostudents_studentId, Integer related_facultyresearchtostudents_facultyId);

	/**
	 * Delete an existing Category entity
	 * 
	 */
	public Facultyresearch deleteFacultyresearchCategories(Integer facultyresearch_facultyResearchId_3, Integer related_categories_categoryId);

	/**
	 * Save an existing Faculty entity
	 * 
	 */
	public Facultyresearch saveFacultyresearchFaculty(Integer facultyResearchId_4, Faculty related_faculty);
}